Learn R Programming

pbdMPI (version 0.1-5)

global print and cat: Global Print and Cat Functions

Description

The functions globally print or cat a variable from specified processors, by default messages is shown on screen.

Usage

comm.print(x, all.rank = .SPMD.CT$print.all.rank,
    rank.print = .SPMD.CT$rank.source, comm = .SPMD.CT$comm,
    quiet = .SPMD.CT$print.quiet, flush = TRUE, con = stdout(), ...)

comm.cat(..., all.rank = .SPMD.CT$print.all.rank, rank.print = .SPMD.CT$rank.source, comm = .SPMD.CT$comm, quiet = .SPMD.CT$print.quiet, sep = " ", fill = FALSE, labels = NULL, append = FALSE, flush = TRUE, con = stdout())

Arguments

x
a variable to be printed.
...
variables to be cat.
all.rank
if all ranks print (default = FALSE).
rank.print
rank for printing if not all ranks print (default = 0).
comm
communicator for printing (default = 1).
quiet
FALSE for printing rank number.
sep
sep argument as in the cat function.
fill
fill argument as in the cat function.
labels
labels argument as in the cat function.
append
labels argument as in the cat function.
flush
if flush con.
con
stdout() is the default to print message.

Value

  • A print or cat is called for the specified processors and the messages of the input variables is shown on screen by default.

Details

Warning: These two functions use barrier to make sure the well printing process on screen, so should be called by all processors to avoid a deadlock. A typical misuse is called inside a condition check, such as if(.comm.rank == 0) comm.cat(...).

rank.print can be a integer vector containing the ranks of processors which print messages.

References

Programming with Big Data in R Website: http://r-pbd.org/

Examples

Run this code
# Save code in a file "demo.r" and run with 2 processors by
# > mpiexec -np 2 Rscript demo.r

### Initial
library(pbdMPI, quiet = TRUE)
init()

### Example
comm.print(comm.rank(), rank.print = 1)

### Finish
finalize()

Run the code above in your browser using DataLab